This section introduces aspects that may facilitate better understanding of the present disclosure. Accordingly, the statements of this section are to be read in this light and are not to be understood as admissions about what is in the prior art or what is not in the prior art.
Multi-user and multi-carrier signals are more widely used in various communication applications, especially with the development of massive Multiple-Input Multiple-Output (MIMO) technology. Particularly, OFDM signals are widely used in current Long Term Evolution (LTE) wireless communication systems and will also be used in future generation communication systems, like New Radio (NR) systems. An OFDM signal consists of a number of adjacent carriers, closely spaced in frequency, and each modulated with data. OFDM is attractive because of its ability to overcome adverse effects of multi-channel transmission without a need for equalization, while the maximum possible power of an OFDM signal is several times of the average transmitted power. That is, the OFDM signal has a very high PAR. Generally, multi-user and multi-carrier signals often have a high PAR. This places high demands on data converters and especially limits efficiency of operation of power amplifiers (PAs) used in a transmitter, e.g. of a base station. Reducing the PAR is therefore beneficial in increasing PA efficiency by allowing higher average power to be transmitted before saturation occurs.
Currently, Peak Cancellation Crest Factor Reduction (PC-CFR) is commonly used to limit the dynamic range of the signals being transmitted in wireless communications and other applications. The PC-CFR relies on subtracting a pre-calculated clipping pulse from an original signal within the detected peak areas. By utilizing the current carrier configuration of a wireless communication system, the clipping pulse is typically calculated from Sinc functions.
In a K-carrier system (K is the number of carriers used in a wireless communication system), it is supposed that each carrier has been configured with bandwidth B1, B2, . . . , BK, then the clipping pulse calculation starts from sampling of the Sinc function. For carrier i (i=1, 2, . . . , K), the sampling process can be represented as:
                                                        x              i                        ⁡                          (              n              )                                =                                    sin              ⁡                              (                                  2                  ⁢                  π                  ⁢                                                                          ⁢                                      B                    i                                    ⁢                                      nT                    s                                                  )                                                    2              ⁢              π              ⁢                                                          ⁢                              B                i                            ⁢                              nT                s                                                    ,                  (                                    n              =                              -                N                                      ,                                          -                N                            +              1                        ,            …            ⁢                                                  ,            N                    )                                    (        1        )            where Ts is the sampling period; n represents the sample number; and N represents a length of the sampled Sinc function, i.e. the total number of samples.
Then the sampled Sinc function will be frequency translated to the configured frequency position of carrier i. Supposing that the center frequencies of the K carriers are ω1, ω2, . . . , ωK∈(−π,π), then frequency translated Sinc function for carrier i will be:
                                                        y              i                        ⁡                          (              n              )                                =                                    e                              jn                ⁢                                                                  ⁢                                  ω                  i                                                      ⁢                                          sin                ⁡                                  (                                      2                    ⁢                    π                    ⁢                                                                                  ⁢                                          B                      i                                        ⁢                                          nT                      s                                                        )                                                            2                ⁢                π                ⁢                                                                  ⁢                                  B                  i                                ⁢                                  nT                  s                                                                    ,                  (                                    n              =                              -                N                                      ,                                          -                N                            +              1                        ,            …            ⁢                                                  ,            N                    )                                    (        2        )            
In order to get better performance among carriers with different power spectrum densities, the frequency translated Sinc functions can be weighted and then summed together to generate a final clipping pulse:
                                          p            ⁡                          (              n              )                                =                                                    ∑                                  i                  =                  1                                K                            ⁢                                                          ⁢                                                W                  i                                ⁢                                                      y                    i                                    ⁡                                      (                    n                    )                                                                        =                                          ∑                                  i                  =                  1                                K                            ⁢                                                W                  i                                ⁢                                  e                                      jnw                    i                                                  ⁢                                                      sin                    ⁡                                          (                                              2                        ⁢                        π                        ⁢                                                                                                  ⁢                                                  B                          i                                                ⁢                                                  nT                          s                                                                    )                                                                            2                    ⁢                    π                    ⁢                                                                                  ⁢                                          B                      i                                        ⁢                                          nT                      s                                                                                                          ,                                  ⁢                  (                                    n              =                              -                N                                      ,                                          -                N                            +              1                        ,            …            ⁢                                                  ,            N                    )                                    (        3        )            where Wi is a weighting coefficient for carrier i, which meets equation Σi=1KWi=1 to make sure the pulse center p(0)=1 so as to simplify the later peak cancellation operation.
FIG. 1 shows an existing solution to clipping pulse generation for PC-CFR of a multi-carrier signal to be transmitted.
As shown, n reference sampled Sinc functions as shown in equation (1) are pre-stored in a library 110. When a multi-carrier signal is to be transmitted, proper Sinc functions can be selected 120 from the stored Sinc functions during carrier setup according to the carrier configuration. The selected Sinc functions will then be frequency translated 130, weighted 140 and summed 150 according to above equations (2)-(3) to generate the clipping pulse. When the pulse generation is done, the generated clipping pulse can be downloaded to hardware for use in peak cancellation of the multi-carrier signal.
One issue of the existing solution is that large amount of memory is required to store the Sinc functions to provide reasonable accuracy. The issue becomes even worse when narrow-band carriers, like 1.4 MHz LTE carriers, are configured. That is because, if a Sinc function has a bandwidth same as or close to its corresponding carrier, given a fixed sample rate, more samples will be needed for this narrow-band Sinc function.
Another issue of the existing solution is that frequency translation, weighting and Sinc function combination consume lots of computing resources. For example, in order to generate a clipping pulse with length N for a K-carrier signal, 2K*(2N+1) complex multiplication operations are needed for frequency translation and weighting, and (K−1)*(2N+1) complex addition operations are required for Sinc function combination. These computing resources are used just for setup of one antenna branch. For a multiple-antenna and multi-carrier system, e.g. a massive MIMO system, the consumption of computing resources will increase dramatically.
Furthermore, it usually takes long time to download coefficients of the generated clipping pulse to hardware, since typically the processor Input/Output (I/O) speed is not high relative to the amount of the coefficients.
The above issues cause the PC-CFR setup/initialization to take long time. This problem becomes worse or even infeasible when the supported carrier number and antenna number increase a lot, e.g. in a massive MIMO system.
An existing solution of offloading the calculation to hardware, e.g. Application Specific Integrated Circuit (ASIC)/Field Programmable Gate Array (FPGA), can partially solve the above problem, e.g. accelerating the calculation speed. However, the memory for storing the Sinc functions is still needed. Moreover, lots of hardware resources, especially multiplication and addition resources, are consumed and the acceleration hardware can only be activated at setup/initialization of the PC-CFR, so that the utilization ratio of this part of hardware is low.